The present invention relates to a CPU diagnosing device and method, more particularly, to a CPU diagnosing device and method for automotive control units.
Automotive control units typically have a CPU diagnosing device which monitors and provides corrected operation for a CPU for such control units which, if abnormal, may adversely affect the driving performance of the automobile.
Conventional CPU diagnosing devices, such as those disclosed in the Japanese Translation of Unexamined PCT Application No. Hei 10-507805 and the Japanese Published Unexamined Patent Application No. 2000-29734 are known. In each of the CPU diagnosing devices disclosed in these published applications, there at least two channels provided in the CPU which prevent them from functionally affecting each other except when a error is found. The two levels include, a functional level (actual control arithmetic processing level) and a monitoring level (an arithmetic processing level for diagnosis), which makes it possible to achieve with a single computing element the reliability and availability of operation comparable to two computing elements. Often, a third level for checking the operation at a second level is provided. For instance, an xe2x80x9cactive watchdogxe2x80x9d can be used which executes operations in a question-and-answer format.
However, in the CPU diagnosing devices referred to above, an exercise is given to the CPU, and it operates on that exercise independent of the arithmetic processing for actual control and returns the results of the operation (solution) to the exercise source, so that the CPU can be diagnosed on the basis of that solution whether or not the CPU is normal. But, these methods provide unsatisfactory and inaccurate results due to the independent operation of the exercise apart from actual control.
For instance, in an engine control device, there are three combustion modes of the engine including the stoichiometric mode, the homogeneous lean mode and the stratified lean mode. The function to determine the output to each actuator at the first level and the function to estimate, for instance the output level, at the second level differ from mode to mode. But, no particular consideration is given in any conventional CPU diagnosing device to this factor.
Thus, the conventional CPU diagnosing device can only take one arithmetic processing state out of a plurality of arithmetic processing states for different combustion modes including for instance the stoichiometric mode, the homogeneous lean mode and the stratified lean mode and cannot perform effective arithmetic processing according to the current selected arithmetic processing state.
The present provides a CPU diagnosing device and method for varying the monitoring (diagnosing) mode according to the arithmetic processing state of the CPU and diagnosing whether or not normal arithmetic processing is being carried out in the current arithmetic processing state.
In an object of the present invention, a CPU diagnosing device is capable of taking one arithmetic processing state selected from a plurality of arithmetic processing states and performs effective arithmetic processing according to the selected arithmetic processing state. The CPU diagnosing device is provided with an exercise setting section for setting exercises and exercise arithmetic processing sections, one or another of which is disposed to match each of the plurality of arithmetic processing states, for calculating exercises set by the exercise setting section. The CPU is determined to be normal or not on the basis of the solutions to the exercises calculated by the exercise arithmetic processing sections. In this way, it is possible to vary the mode of monitoring (diagnosis) with the arithmetic processing state of the CPU and to diagnose whether or not arithmetic processing is normally carried out in the current arithmetic processing state.
In another embodiment of the invention, the CPU performs arithmetic processing by a function differing with the arithmetic processing state, and the exercise arithmetic processing sections select, out of a plurality of functions, a function matching the state which the CPU can currently take and thereby performs exercise calculation.
In a object of the present invention, the exercise setting section is provided outside the CPU, transmits an exercise to the CPU and receives a solution from the exercise arithmetic processing section by the CPU.
In another object of the invention, exercise arithmetic processing sections corresponding to different arithmetic processing states are cyclically selected in succession, and the selected exercise arithmetic processing section calculates an exercise from the exercise setting section.
Further, in another object of the invention, the exercise arithmetic processing sections have a plurality of types of exercise arithmetic processing sections each, and an exercise from the exercise setting section is calculated by the selected exercise arithmetic processing section.
In yet another embodiment of the present invention, an exercise arithmetic processing section using a random number in executing exercise calculation can be selected. In this case, as the random number, the value of some or every digit of a timer or counter of the CPU after the lapse of a prescribed length of time can be used.
In an object of the present invention, a CPU to be diagnosed can be a CPU for engine control use. In this case, the plurality of arithmetic processing state of the CPU are set corresponding to a plurality of combustion modes that the engine can take and the combustion modes can include a stoichiometric mode and lean modes or be three modes including the stoichiometric mode, a homogeneous lean mode and a stratified lean mode.
In yet another embodiment of the present invention, in the event that the CPU is diagnosed not to be normal, the present invention issues a command to prohibit operation in the combustion mode in which it has been diagnosed not to be normal and operates the engine in some other combustion mode.
In yet another embodiment of the present invention, a CPU to be diagnosed is a CPU for a control device for controlling the torque and speed of wheels, and performing calculation on exercises using the wheel speed, acceleration, drive torque or brake torque or a combination of this plurality of parameters.